Detecting the angle of passive rotary knob partially located on touch screen

ABSTRACT

An apparatus and method for detecting the angle of passive rotary knob partially located on a touch screen are described. In embodiments the apparatus includes a touch screen having an array of sensors and a dial that includes a base and a knob attached to the base and rotatable relative to the base. The knob includes a plurality of conductive elements, each positioned a distance from a center point of the knob. A controller is also included, coupled to the touch screen, and configured to receive signals generated by one or more sensors of the array in response to the sensors detecting one or more of the conductive elements. The controller can determine a rotational angle of the knob based on the signals generated by the one or more of the sensors in the array while a portion of the knob does not overlap the array of sensors.

BACKGROUND

An electronic display typically uses capacitive, resistive, inductive,optical, acoustic or other technology to determine the presence,location and or motion of a finger, stylus, and/or other objects. Thepresent disclosure will be made with reference to electronic displaysthat employ capacitive sensor arrays for determine the presence,location and or motion of an object, it being understood the presentdisclosure should not be limited thereto.

Capacitive sensor technology functions by measuring the capacitance of acapacitive sensor element (i.e., sensor), and evaluating for a change incapacitance caused by a conductive element that touches or is near thesensor. When a conductive element (e.g., a finger, metal element, orother object) comes into contact or close proximity with a capacitivesensor, its capacitance changes and the conductive object can bedetected. Capacitance changes can be measured by an electrical circuitthat converts signals corresponding to changes in capacitances of thecapacitive sensors into digital values for subsequent processing inaccordance with software instructions stored in memory.

Capacitive sensors may be used to replace mechanical buttons,dials/knobs, and other similar mechanical user interface controls, whileproviding reliable operation under harsh conditions.

BRIEF DESCRIPTION OF THE DRAWINGS

The present technology may be better understood, and its numerousobjects, features, and advantages made apparent to those skilled in theart by referencing the accompanying drawings.

FIG. 1 illustrates a block diagram illustrating one embodiment of anelectronic display.

FIG. 2 illustrates the touch screen of FIG. 1 and example dials.

FIG. 3 illustrates a cross sectional view of a dial from FIG. 2 .

FIG. 4 illustrates the touch screen of FIG. 1 with alternative dials.

FIG. 5 illustrates a cross sectional view of a dial from FIG. 4 .

FIG. 6 is a cross-sectional view of another dial that uses the permanentmagnet to fix to the touchscreen

FIG. 7 illustrates a bottom view of the shown in FIGS. 3 .

FIG. 8 illustrates a bottom view of the shown in FIGS. 5 .

FIG. 9 illustrates operational aspects for detecting indexes of a dial.

FIG. 10 illustrates operational aspects for detecting indexes of a dial.

FIG. 11 is a flow chart illustrating operational aspects of an examplemethod implemented in accordance with one embodiment of the presentdisclosure.

FIG. 12 illustrates an example of the processing device shown in FIG. 1.

The use of the same reference symbols in different figures indicatessimilar or identical items.

DETAILED DESCRIPTION

In the following description, for purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present embodiments. It will be evident, however,to one skilled in the art that the embodiments may be practiced withoutthese specific details. In other instances, well-known circuits,structures, and techniques are not shown in detail, but rather in ablock diagram in order to avoid unnecessarily obscuring an understandingof this description.

Reference in the description to “one embodiment” or “an embodiment”means that a particular feature, structure, or characteristic describedin connection with the embodiment is included in at least oneembodiment. The phrase “in one embodiment” located in various places inthis description does not necessarily refer to the same embodiment.

Capacitive sensor arrays are ubiquitous in today's industrial andconsumer markets, and provide many user interface options. Capacitivesensors in these arrays may be used to replace the functionality ofmechanical buttons, dials/knobs, and other similar mechanical userinterface controls. Despite this, dials/knobs remain a popular optionamong users in many applications, for example in cars due to theirnative haptic and human habit preferences. However, the size of touchscreens in cars and other applications often reduces the space availablefor dials.

The embodiments described herein are directed at detecting the angle ofa passive dial when it fully or partially overlaps a touch screen havingan array capacitive sensors. In one embodiment, detection is implementedthrough conventional capacitive sensing techniques. The dial may be apassive device, and thus may not include electronics of any kind (e.g.,on-board measurement system) or be powered in any way. The dial mayinclude a plurality of conductive elements (hereinafter referred to asindexes), which may be contained in the dial and positioned such atleast one of the indexes touches or is in close proximity to the touchscreen. In this way, the at least one of the indexes should haveelectrical or capacitive coupling with the touch screen to enabledetermination of rotational angle of the dial. As the dial is rotated,the indexes rotate, and thus a change in the rotational angle of thedial may be detected via the capacitive sensor array.

Described herein are devices, methods, and systems that can determinethe position and/or rotational angle of a passive dial that is partiallyor fully overlapping a touch screen. In one embodiment, a touch screenis disclosed that includes a plurality of capacitive sensors. A dial isalso disclosed and includes two or more indexes. The dial may fully orpartially overlap an active area of the touchscreen such that at leastone of the indexes are proximate to the face of the active area and movein conjunction with a rotation of the passive dial. The touch screen mayfurther comprise a touch screen controller operatively coupled to thetouch screen. The touch screen controller may detect an angle of thepassive dial based at least in part on responses of a set of capacitivesensors to the at least one of the indexes as the passive dial rotates.

Although described with respect to a touch screen that employs acapacitive sensor array, the embodiments of the present disclosure maybe realized in a touch screen utilizing any appropriate sensing system(e.g., inductive, resistive). For example, inductive sensing systems mayinclude one or more sensing elements that pick up loop currents inducedby a resonating coil or pair of coils. Some combination of themagnitude, phase, and frequency of the currents may then be used todetermine positional information. In another example, resistive sensingsystems may include a flexible and conductive first layer that isseparated by one or more spacer elements from a conductive second layer.During operation, one or more voltage gradients are created across thelayers. Pressing the flexible first layer may deflect it sufficiently tocreate electrical contact between the layers, resulting in voltageoutputs reflective of the point(s) of contact between the layers. Thesevoltage outputs may be used to determine positional information.

FIG. 1 is a block diagram illustrating one embodiment of an electronicdisplay 100. The electronic display 100 may include a touch screen 102,a user interface controller 104, and a touch screen controller 106. Thetouch screen 102 may include a capacitive sensor array 110 and frame112. The sensor array 110 may be coupled to the touch screen controller106, which may be coupled to a host computing device (not shown).

In one embodiment the sensor array 110 is a two-dimensional array ofcapacitive sensors. When a conductive object comes into contact or inclose proximity with a capacitive sensor, its capacitance changes.Capacitance changes can be measured by touch screen controller 106,which converts signals corresponding to measured capacitances of thecapacitive sensors into digital values.

Touch screen controller 106 includes a capacitance sensing circuit 120in data communication with a memory 122 and a processing device (e.g., amicrocontroller, a digital signal processor, etc.) 124. In oneembodiment, a multiplexer circuit may be used to connect a capacitivesensing circuit 120 of the touch screen controller 106 with the sensorarray 110 in various configurations. Capacitance sensing circuit 120converts signals corresponding to measured changes in capacitances thatare provided by the capacitive sensors of array 110. Capacitance sensingcircuit 120 converts the signals into respective digital equivalents forsubsequent processing by processing device 124. Memory 122 is configuredto store data and instructions executable by the processing device 122.Processing device 124 can process the digital values provided bycapacitive sensing circuit 120 in accordance with instructions stored inmemory 122, in order determine the angle of the passive dial/knob thatis fully or partially overlapping sensor array 110 as will be more fullydescribed below.

FIG. 2 illustrates the touch screen 102 of FIG. 1 with example dials 202a-202 c. Dials 202 a and 202 c partially overlap sensor array 110. Dial202 b fully overlaps sensor array 110. In one embodiment, a dialpartially overlaps sensor array 110 when at least a portion of at leastone index of the dial is partially or fully outside sensor array 110 aswill be more fully described below.

A dial 202 can be any appropriate rotary mechanism with a center lineperpendicular to and positioned inside or outside the sensor array 110.Thus a center of dial 202 a or 202 b may be mounted on frame 112, withpart of the dial 202 overlapping an area that is not within the activearea 110 of the touch screen 102. The dial 202 may be a passive device,and thus may not include electronics of any kind (e.g., on-boardmeasurement system) or be powered in any way.

The number of indexes within the dial may determine the minimal overlapof the dial with sensor array 110 that is needed for determining thedial's rotational angle. FIG. 3 illustrates a cross sectional view ofexample dial 202 b taken along line A-A. Dial 202 b includes a knob 300with two indexes 304 a and 304 b, contained and positioned in knob 300such that the indexes 304 can be in close proximity (e.g., 0.1-0.5millimeters) to or in contact with array 110. In this way, an index 304may have electrical or capacitance coupling with the array 110 such thatthe rotational angle of the dial 202 can be detected. Indexes 304 maytake form in cylinders that are formed from a conductive metal such ascopper. Indexes with other cross sectional shapes such as ovals,squares, rectangles, etc., are contemplated. The center lines of indexes304 are spaced a distance D from the center line of the dial.

Knob 300 is rotatably connected to base 306. Knob 300 includes anon-conductive cover 302, a conductive plate 312, biasing springs 314,and bearings 310 contained in and movable within a race. Movement of thebearings within the race enable the indexes 304 to rotate about thecenterline of base 306. Indexes 304 are biased by springs 314 tomaintain indexes 304 in close proximity or contact with sensor array110. Springs 314 may also electrically connect indexes 304 throughconductive plate 312. Nonconductive cover 302 electrically isolatesconductive plate 312 and indexes 304 from a user of dial 202 b. Base 306is fixedly mounted on capacitive sensor array 110 or frame 112 byfastener 316 (e.g., epoxy). For the purposes of explanation only, dials202 a and 202 c are identical in structure.

As a dial, such as dial 202 is rotated, indexes, such as indexes 304 aand 304 b, rotate around base 306, and the rotation angle of the dial202 may be detected through the capacitive sensor array 110 as discussedmore fully described herein. For example, the touch screen controller106 may obtain from the capacitive sensor array 110, capacitance signaldata sets as index 304 rotates, and position detection firmwareexecuting on the touch screen controller 106 identifies rotationalangles of the dial based on the peaks in the data sets. The firmware cancalculate the precise rotational angle of dial 202 using a correlationalgorithm, and display the angle on, for example, touch screen 102 inany appropriate manner. As used herein, the rotational angle of the dialor index may be referred to as the current angle of the dial.

It should be noted that dials can have more than two indexes 304. FIG. 4illustrates alternative dials 402. More particularly, FIG. 4 shows atouch screen 400 with example dials 402 a-402 c. Touch screen 400 issubstantially similar to touch screen 102, except for one difference;touch screen 400 has a different frame 404. In the embodiment of FIG. 4, each dial 402 partially overlaps sensor array 110. As will bedescribed, dials 402 have three indexes. With this configuration, theminimum overlap (e.g., 40%) with sensor array 110 that is needed todetermine the rotational angle of dial 402, is less than the minimumoverlap (e.g., 50%) needed by dial 202.

Dial 402 can be any appropriate rotary mechanism (e.g., a knob) with acenter line positioned perpendicular to and inside or outside sensorarray 110. In FIG. 4 , the centers of all dials 402 (402 a÷402 c) arepositioned outside sensor array 110. Thus each passive dial 402 overlapsan area that is not within the active area 110 of the touch screen 102.The dial 402 may be a passive device, and thus may not includeelectronics of any kind (e.g., on-board measurement system) or bepowered in any way.

Dials 202 and 402 are similar in many regards. FIG. 5 illustrates across sectional view of dial 402 b taken along line B-B. The dial 402 bincludes a knob 500 rotatably connected to base 306. Knobs may include2, 3, or more indexes. Knob 500 includes three indexes 304 a-304 c (304c is not shown in FIG. 5 ), which may be contained and positioned inknob 500 such that the indexes 304 can be in close proximity (e.g.,0.1-0.5 millimeters) to or in contact with array 110. In this way, anindex 304 may have electrical or capacitance coupling with the array 110so that the rotational angle of the dial 402 can be determined. Indexes304 may be cylindrical and formed from a conductive metal such ascopper. Knob 500 also includes a conductive cover 406, springs 314, abase 306, and bearings 310 contained in and movable within a race.Indexes 304 are biased by springs 314 to maintain indexes 304 in closeproximity to or in contact with sensor array 110. Springs 314 may alsoelectrically connect indexes 304 to conductive cover 406. Conductivecover 406 electrically connects indexes 304 together and to a user whois manipulating dial 402 b. Base 306 is fixedly mounted on capacitivesensor array 110 or frame 404 by fastener 316 (e.g., epoxy).

As the dial 402 is rotated, indexes 304 rotate around base 306, and therotational angle of the dial 402 may be detected through the capacitivesensor array 110 as the indexes 304 pass over it. The touch screencontroller 106 may obtain from the capacitive sensor array 110,capacitance signal data sets as the indexes 304 rotate, and positiondetection firmware executing on the touch screen controller 106identifies the rotational angle of dial 402 based on peaks in the dataset. For example, the firmware can calculate the precise angle of dial402 using a correlation algorithm and display the angle on, for example,touch screen 110 in any appropriate manner. As used herein, therotational angle of the dial may be referred to as the current angle ofthe dial or index.

FIGS. 3 and 5 show dials 202 and 402 that are fixedly connected to touchscreen 110. In an alternative embodiment, dials are movable with respectto a touch screen 110. FIG. 6 is a cross-sectional view of a dial 602with a center line that is positioned over sensor array 110, which inturn is positioned over a ferromagnetic plate 608. Dial 602 is similarto dial 402 shown in FIG. 4 , but with one difference; fastener 316 isreplaced by permanent magnet 606. In this embodiment, magnet 606 isfixedly connected to base 306, but dial 602 is releasably connected toarray 110. Magnets are attracted to ferromagnetic materials. Assumingarray 110 is thin enough, the attractive force between magnet 606 andferromagnetic plate 608 can maintain the positon of dial 602 b on thetouch as it is rotated screen until the dial is moved by a user.

FIGS. 7 and 8 illustrate dials 202 and 402, respectively, of FIGS. 3 and5 , respectively, when viewed from the bottom. In FIG. 7 indexes 304 aand 304 b are offset from each other by an angle A=180°. In addition,the indexes 304 are equidistant from the center of dial 202. All indexes304 are presumed to have the same diameter. Indexes 304 are rotatableabout the center of base 316. FIG. 8 shows dial 402 with three indexes304. Each of these indexes 304 is also equidistant from the center ofdial 402. In the embodiment shown, indexes 304 are spaced by angleA=120°. It should be noted that dials of the present disclosure shouldnot be limited to the dials shown in FIGS. 7 and 8 . A dial with fourindexes equally spaced by 90°, may also be contemplated.

When index 304 comes into contact or close proximity with a sensor ofsensor array 110, its capacitance changes, and the index 304 can bedetected. With continuing reference to FIG. 1 , capacitance changes insensors can be measured by a capacitance sensing circuit 120, whichconverts signals corresponding from the capacitive sensors of array 110into digital values for subsequent processing by processing device 124in accordance with instructions stored in memory 122. FIGS. 9 and 10illustrate operational aspects for detecting indexes 304 of dial 402 asit rotates. FIG. 9 shows dial 402 partially overlapping array 110. Inthis Figure only index 304 a is positioned above array 110. FIG. 10shows dial 402 of FIG. 9 after it is rotated. In this figure indexes 304a and 304 b are positioned above array 110.

FIGS. 9 and 10 each show a sensors matrix 802 of the sensor array 110.FIGS. 9 and 10 also show touch heatmaps 804 and 904, respectively,representing capacitance signals provided by respective sensors of panel110 as result of panel scanning. Array 110 is scanned on a periodicbasis by sensing circuit 120. In FIG. 9 the set of values of heatmap 804are generated by capacitance sensing circuit 120 based on a scan ofcapacitance signal outputs of respective sensors matrix 802. As can beseen in FIG. 9 , the value 967 corresponding to the sensor in column C2and row R5 has the highest localized value, which indicates that anindex (i.e., index 304 a) is proximate or touching that sensor. Note:when the index moves the highest signal's, value moves too. In FIG. 10the set of values of heatmap 904 are generated by capacitance sensingcircuit 120 based on output signals of respective sensors in panel 802.As can be seen in FIG. 10 , the values 997 and 856 have the highestlocalized values (called local maximums), which indicates indexes 304 aand 304 b are proximate or sensors in column C4, and rows R3 and R8,respectively. The local maximums move synchronously with movements ofthe indexes 304. Note: index 304 typically covers more than one sensorin the sensor matrix 802, therefore the index responses are detectedfrom multiple touch sensors at the same time.

FIG. 11 is a flowchart illustrating relevant operational aspects of amethod 1100 performed by processing device 124 of FIG. 1 while executingsoftware instructions stored in memory 122. More particularly, method1100 shown in FIG. 11 illustrates one embodiment in which processingdevice 124 calculates the angle of a dial, such as dial 402, based upona set, such as set 904 shown in FIG. 10 , of values collected during ascan of array 110 by capacitance sensing circuit 120. Method 100 can beperformed for each dial 202 or 402 shown in FIGS. 2 and 4 respectively.The angle is relative and can be measured against an initial absoluteangle. Capacitance sensing circuit 120 periodically scans sensor array110 in step 1102, and converts signals provided by the capacitivesensors into digital equivalents for subsequent processing by processingdevice 124. In step 1104, processing device 124 determines locations inthe array 110 where one or more indexes 304 of a dial are touching or inclose proximity. For example, with reference to FIG. 10 , processingdevice 124 can determine that indices 304 a and 304 b are touching or inclose proximity to sensors at column C4, rows R3 and R8, since theselocations define the highest localized values in set 904 by finding thelocal maximums. Processing device 124 uses locations to calculate theangle of the touches identified in step 1104 using the known center anddiameter of the dial.

An initial or absolute angle should be stored for dial 402. Processingdevice 124 determines in step 1110 whether the index touches identifiedin step 1104 are the first for the dial. In one embodiment, processingdevice 124 can access memory 122 to see if an initial absolute angle waspreviously calculated and stored for the dial. If the memory 122 lacksan initial absolute angle, then processing device 124 stores theangle(s) of step 1106 as an initial (first touch) absolute angle in step1112, which in turn can be used for calculating a relative angle of thedial. The initial absolute angle is stored in the appropriate locationin memory 122. After step 1112, the process proceeds to step 1130 wherethe relative angle, absolute angle, or both reported and/or displayed.

If processing device 124 determines that memory 122 contains an initialabsolute angle in step 1110, the process proceeds to step 1114 or 1120,where processing device 120 determines whether the dial includes threeor two indexes 304, respectively. For purposes of explanation, it willbe presumed dial 402 includes three indexes 304 like dial 402 shown inFIG. 8 . Accordingly, in step 1116, processing device 124 calculates andsaves in memory virtual angles for indexes 304 (e.g., index 304 c shownin FIG. 10 ) that are positioned outside of array 110 based upon anglesdetermined in step 1106. In step 1124, processing device 124 finds theposition of each index of the dial. Specifically, for all current realand virtual scan indexes, the corresponding real and virtual touches inthe previous scan are found using the previous absolute index angle, bycalculating the shortest distance between touches in the two scans indegrees as shown in step 1124. In step 1126 the relative angledisplacement is calculated based on the saved initial (first touch)absolute and the current absolute angle. The absolute angle for eachindex is also saved so that they can be used as the previous absoluteindex angle for the next scan. Lastly, the relative angle, absoluteangle or both are reported. For absolute angle reporting, the same indexis always used.

FIG. 12 illustrates an embodiment of the data processor 120 employed inFIG. 1 . In one embodiment, the data processor 120 takes form inmicrocontroller 1202. The microcontroller 1202 includes a CPU (centralprocessing unit) core 1204, flash program storage 1206, DOC (debug onchip) 1208, a prefetch buffer 1210, a private SRAM (static random accessmemory) 1212, and special functions registers 1214. In an embodiment,the DOC 1208, prefetch buffer 1210, private SRAM 1212, and specialfunction registers 1214 are coupled to the CPU core 1204, while theflash program storage 1206 is coupled to the prefetch buffer 1210.

The core architecture may also include a CHub (core hub) 1216, includinga bridge 1218 and a DMA controller 1220 that is coupled to themicrocontroller 1202 via bus 1222. The CHub 1216 may provide the primarydata and control interface between the microcontroller 1202 and itsperipherals and memory 122, and a programmable core 1224. The DMAcontroller 1220 may be programmed to transfer data between systemelements without burdening the CPU core 1204. In various embodiments,each of these subcomponents of the microcontroller 1202 and CHub 1216may be different with each choice or type of CPU core 1204. The CHub1216 may also be coupled to shared SRAM 1226 and an SPC (systemperformance controller) 1228. The private SRAM 1212 is independent ofthe shared SRAM 1226 that is accessed by the microcontroller 1202through the bridge 1218. The CPU core 1204 accesses the private SRAM1212 without going through the bridge 1218, thus allowing local registerand RAM accesses to occur simultaneously with DMA access to shared SRAM1226. Although labeled here as SRAM, these memory modules may be anysuitable type of a wide variety of (volatile or non-volatile) memory ordata storage modules in various other embodiments.

In various embodiments, the programmable core 1224 may include variouscombinations of subcomponents (not shown), including, but not limitedto, a digital logic array, digital peripherals, analog processingchannels, global routing analog peripherals, DMA controller(s), SRAM andother appropriate types of data storage, IO ports, and other suitabletypes of subcomponents. In one embodiment, the programmable core 1224includes a GPIO (general purpose IO) and EMIF (extended memoryinterface) block 1230 to provide a mechanism to extend the externaloff-chip access of the microcontroller 1202, a programmable digitalblock 1232, a programmable analog block 1234, and a special functionsblock 1236, each configured to implement one or more of the subcomponentfunctions. In various embodiments, the special functions block 1236 mayinclude dedicated (non-programmable) functional blocks and/or includeone or more interfaces to dedicated functional blocks, such as USB, acrystal oscillator drive, JTAG, and the like.

The programmable digital block 1232 may include a digital logic arrayincluding an array of digital logic blocks and associated routing. Inone embodiment, the digital block architecture is comprised of UDBs(universal digital blocks). For example, each UDB may include an ALUtogether with CPLD functionality.

In various embodiments, one or more UDBs of the programmable digitalblock 1232 may be configured to perform various digital functions,including, but not limited to, one or more of the following functions: abasic I2C slave; an I2C master; a SPI master or slave; a multi-wire(e.g., 3-wire) SPI master or slave (e.g., MISO/MOSI multiplexed on asingle pin); timers and counters (e.g., a pair of 8-bit timers orcounters, one 16 bit timer or counter, one 8-bit capture timer, or thelike); PWMs (e.g., a pair of 8-bit PWMs, one 16-bit PWM, one 8-bitdeadband PWM, or the like), a level sensitive I/O interrupt generator; aquadrature encoder, a UART (e.g., half-duplex); delay lines; and anyother suitable type of digital function or combination of digitalfunctions which can be implemented in a plurality of UDBs.

In other embodiments, additional functions may be implemented using agroup of two or more UDBs. Merely for purposes of illustration and notlimitation, the following functions can be implemented using multipleUDBs: an I2C slave that supports hardware address detection and theability to handle a complete transaction without CPU core (e.g., CPUcore 1204) intervention and to help prevent the force clock stretchingon any bit in the data stream; an I2C multi-master which may include aslave option in a single block; an arbitrary length PRS or CRC (up to 32bits); SDIO; SGPIO; a digital correlator (e.g., having up to 32 bitswith 4× over-sampling and supporting a configurable threshold); a L1Nbusinterface; a delta-sigma modulator (e.g., for class D audio DAC having adifferential output pair); an I2S (stereo); an LCD drive control (e.g.,UDBs may be used to implement timing control of the LCD drive blocks andprovide display RAM addressing); full-duplex UART (e.g., 7-, 8- or 9-bitwith 1 or 2 stop bits and parity, and RTS/CTS support), an IRDA(transmit or receive); capture timer (e.g., 16-bit or the like);deadband PWM (e.g., 16-bit or the like); an SMbus (including formattingof SMbus packets with CRC in software); a brushless motor drive (e.g.,to support 6/12 step commutation); auto BAUD rate detection andgeneration (e.g., automatically determine BAUD rate for standard ratesfrom 1200 to 115200 BAUD and after detection to generate required clockto generate BAUD rate); and any other suitable type of digital functionor combination of digital functions which can be implemented in aplurality of UDBs.

The programmable analog block 1234 may include analog resourcesincluding, but not limited to, comparators, mixers, PGAs (programmablegain amplifiers), TIAs (trans-impedance amplifiers), ADCs(analog-to-digital converters), DACs (digital-to-analog converters),voltage references, current sources, sample and hold circuits, and anyother suitable type of analog resources. The programmable analog block1234 may support various analog functions including, but not limited to,analog routing, capacitance-sensing, current to voltage conversion,voltage to frequency conversion, differential amplification, lightmeasurement, inductive position monitoring, filtering, voice coildriving, magnetic card reading, acoustic doppler measurement,echo-ranging, modem transmission and receive encoding, or any othersuitable type of analog function.

The function of the capacitive touch screen scanning can be accomplishedwith help of the dedicated hardware module 1240. The capacitive touchscan block 1240, after programmed by the CPU core 1204, scans panels ofthe capacitive sensor array with minimum CPU involvement. Thecapacitance sensing circuit 120 (FIG. 1 ) might be same as capacitivescan block 1240 or be combination of the capacitive scan block 1240 andsome other modules, for example, programmable analog block 1234 in thedifferent invention embodiments.

The foregoing description, for the purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the embodiments and its practical applications, to therebyenable others skilled in the art to best utilize the embodiments andvarious modifications as may be suited to the particular usecontemplated. Accordingly, the present embodiments are to be consideredas illustrative and not restrictive, and the invention is not to belimited to the details given herein, but may be modified within thescope and equivalents of the appended claims.

What is claimed is:
 1. An apparatus comprising: a touch screencomprising an array of sensors; a base; a knob attached to the base androtatable relative to the base, the knob comprising a plurality ofconductive elements each of which is positioned a distance D from acenter point of the knob; a controller coupled to the touch screen andconfigured to receive signals generated by one or more sensors of thearray in response to the one or more sensors detecting one or more ofthe plurality of conductive elements; wherein the controller isconfigured to determine a rotational angle of the knob based on the oneor more signals generated by the one or more of the sensors in the arraywhile a portion of the knob does not overlap the array of sensors. 2.The apparatus of claim 1 wherein the base is movable relative to thetouch screen.
 3. The apparatus of claim 1 wherein each of the sensorscomprises a capacitive sensor that generates an electrical field,wherein the capacitive sensor is configured to detect disruptions in theelectrical field that is caused by any one of the conductive elements.4. The apparatus of claim 1 wherein the controller is configured todetermine the rotational angle based on the distance D.
 5. The apparatusof claim 1 wherein each pair of adjacent conductive elements has anangle between them when measured with respect to the center point of theknob.
 6. The apparatus of claim 1 wherein the controller is configuredto determine the rotational angle while at least a first percentage ofknob overlaps the array of sensors and when the knob has only threeconductive elements.
 7. The apparatus of claim 1 wherein the controlleris configured to determine the rotational angle while at least a secondpercentage of knob overlaps the array of sensors and when the knob hasonly two conductive elements.
 8. The apparatus of claim 1 wherein thesensors define a detection pitch-size, and wherein each of theconductive elements has a cross-sectional area that is not less than thedetection pitch-size.
 9. The apparatus of claim 1 wherein the pluralityof conductive elements are electrically connected to each other.
 10. Anapparatus comprising: a touch screen comprising an array of sensors; amovable base; a knob attached to the movable base and rotatable relativeto the movable base, the knob having two or three conductive elementseach of which is positioned a distance D from a center point of theknob; a controller coupled to the electronic display and configured toreceive signals generated by one or more sensors of the array inresponse to detecting one or more of the plurality of conductiveelements; wherein the controller is configured to determine a positionof the movable base on the touch screen after the movable base has movedto the position, and wherein the controller is configured to determinethe position based on distances between the two or three conductiveelements.
 11. The apparatus of claim 10 wherein the controller isconfigured to determine a rotational angle of the knob based on the oneor more signals generated by one or more of the sensors in the arraywhile a portion of the knob does not overlap the array of sensors. 12.The apparatus of claim 10 further comprising: a metal plate; wherein thearray of sensors is positioned between the metal plate and the movablebase; wherein the base comprises a magnet for releasable connecting thebase to the array of sensors.
 13. The apparatus of claim 10 wherein eachof the sensors comprises a capacitive sensor that generates anelectrical field, wherein the capacitive sensor is configured to detectdisruptions in the electrical field that is caused by any one of theconductive elements.
 14. The apparatus of claim 10 wherein thecontroller is configured to determine the rotational angle based on thedistance D.
 15. The apparatus of claim 10 wherein each pair of adjacentconductive elements has an angle A between them when measured withrespect to the center point of the knob.
 16. The apparatus of claim 10wherein the controller is configured to determine the rotational anglewhile a first percentage of the knob overlaps the array of sensors andwhen the knob has only three conductive elements.
 17. The apparatus ofclaim 10 wherein the controller is configured to determine therotational angle while a second percentage of the knob overlaps thearray of sensors and when the knob has only two conductive elements. 18.A method comprising: receiving a first set of signals from sensors of anarray while one or more of a plurality of conductive elements of arotatable knob overlap the array, and while another of the plurality ofconductive elements does not overlap the array of sensors; processingthe first set of signals to determine a rotational angle of the knob.19. The method of claim 18 wherein each of the sensors comprises acapacitive sensor that generates an electrical field, wherein thecapacitive sensor is configured to detect disruptions in the electricalfield that is caused by any one of the conductive elements.